class Solution {
public:
    string multiply(string num1, string num2) {
        if(num1[0]=='0'||num2[0]=='0'){
            return "0";
        }
        string str;
        str.resize(num1.size()+num2.size(),'0');
        auto it1=num1.end()-1;
        int i=num1.size()-1;
        int j=0;
        int count=0;
        int n,m=0;
        while(it1>=num1.begin()){
            j=num2.size()-1;
            n=*it1-'0';
            while(j>=0){
                m=num2[j]-'0';
                m=m*n+(str[i+j+1]-'0');
                count=m/10;
                m%=10;
                str[j+i+1]=m+'0';
                str[i+j]+=count;
                // if(count!=0){
                //     str[j+i+1]+=m+'0';
                //     str[i+j]+=count+'0';
                //     count=0;
                // }else{
                //     str[j+i+1]+=m+'0';
                // }
                j--;
            }
            i--;
            it1--;
        }
        if(str[0]=='0'){
            str.erase(0,1);
        }
        return str;
    }
};
